#ifndef _ARRAY_H
#define _ARRAY_H


#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <cmath>
#include <ostream>

namespace rt
{

class Array
{
public:
    Array();
    Array(double a, double b, double c);
    boost::array<double,4> data();
    double data(int n);
    void setData(int n,double a);
    void setZeros();
    void setOnes();
    void setAll(double a,double b,double c);

    virtual Array operator+( Array &a) ;
    virtual Array operator-( Array &a) ;
    virtual double operator*( Array &a) ;
    virtual void operator=( Array a) ;

protected:
    boost::array<double,4> d;
};

}

#endif
